home *** CD-ROM | disk | FTP | other *** search
/ BBS in a Box 12 / BBS in a box XII-2.iso / Files II / Prog / T / The Journal.sit / The Journal / install DRVR INIT / installJournalDriver.c < prev    next >
Encoding:
C/C++ Source or Header  |  1991-03-12  |  1.1 KB  |  65 lines  |  [TEXT/KAHL]

  1.  
  2.  
  3. #include "installJournalDriver.h"
  4. #include "driver.h"
  5.  
  6. pascal main()
  7. {
  8.     OSErr     error;
  9.     short    refNum;
  10.     Handle    theFlag ;
  11.     int        *flag_ptr ; 
  12.     Byte    installFlags ;
  13.     Str255    *journalName ;
  14.     Handle    procH ;
  15.  
  16.  
  17.     if ((theFlag = GetResource('JrnF', 1000)) != NULL) {
  18.         HLock(theFlag) ;
  19.         flag_ptr = (int*)(*theFlag)  ;
  20.         (*flag_ptr) = -2 ;
  21.         HUnlock(theFlag) ;
  22.         ChangedResource(theFlag) ;
  23.         WriteResource(theFlag) ;
  24.     }
  25.  
  26.  
  27.     installFlags = (open | thinkDATA) ;
  28.  
  29.     journalName = (Str255*)JRNL_NAME ;
  30.  
  31.     error = InstallRAMDriver((*journalName), &refNum, installFlags);
  32.  
  33.  
  34.     if (error == noErr) {
  35.         /* did install */
  36.         if ((procH = GetResource('PROC', 128)) != NULL) {
  37.             HLock(procH) ;
  38.             CallPascal(128, -1, *procH) ;
  39.             HUnlock(procH) ;
  40.         }
  41.     }
  42.     else {
  43.         /* did not install */
  44.         if ((procH = GetResource('PROC', 128)) != NULL) {
  45.             HLock(procH) ;
  46.             CallPascal(129, -1, *procH) ;
  47.             HUnlock(procH) ;
  48.         }
  49.     }
  50.  
  51.     if ((theFlag = GetResource('JrnF', 1000)) != NULL) {
  52.         HLock(theFlag) ;
  53.         flag_ptr = (int*) (*theFlag) ;
  54.         if (error != noErr)
  55.             (*flag_ptr) = -1 ;
  56.         else
  57.             (*flag_ptr) = (int) refNum ;
  58.         
  59.         HUnlock(theFlag) ;
  60.         ChangedResource(theFlag) ;
  61.         WriteResource(theFlag) ;
  62.     }
  63.     
  64.  
  65. }